﻿
using System;
using System.Collections.Generic ;


namespace MskEdit.Dxf.Representation
{

    public static class DxfValidEntityNames
    {        
        private static readonly HashSet<string> validEntityNames_ ;
        
        
        static DxfValidEntityNames() {
        
            validEntityNames_ = new HashSet<string>() ;
            
            validEntityNames_.Add( "3DFACE" ) ;
            validEntityNames_.Add( "3DSOLID" ) ;
            validEntityNames_.Add( "CAD_PROXY_ENTITY" ) ;
            validEntityNames_.Add( "ARC" ) ;
            validEntityNames_.Add( "ATTDEF" ) ;
            validEntityNames_.Add( "ATTRIB" ) ;
            validEntityNames_.Add( "BODY" ) ;
            validEntityNames_.Add( "CIRCLE" ) ;
            validEntityNames_.Add( "DIMENSION" ) ;
            validEntityNames_.Add( "ELLIPSE" ) ;
            validEntityNames_.Add( "HATCH" ) ;
            validEntityNames_.Add( "HELIX" ) ;
            validEntityNames_.Add( "IMAGE" ) ;
            validEntityNames_.Add( "INSERT" ) ;
            validEntityNames_.Add( "LEADER" ) ;
            validEntityNames_.Add( "LIGHT" ) ;
            validEntityNames_.Add( "LINE" ) ;
            validEntityNames_.Add( "LWPOLYLINE" ) ;
            validEntityNames_.Add( "MESH" ) ;
            validEntityNames_.Add( "MLINE" ) ;
            validEntityNames_.Add( "MLEADERSTYLE" ) ;
            validEntityNames_.Add( "MLEADER" ) ;
            validEntityNames_.Add( "MTEXT" ) ;
            validEntityNames_.Add( "OLEFRAME" ) ;
            validEntityNames_.Add( "OLE2FRAME" ) ;
            validEntityNames_.Add( "POINT" ) ;
            validEntityNames_.Add( "POLYLINE" ) ;
            validEntityNames_.Add( "RAY" ) ;
            validEntityNames_.Add( "REGION" ) ;
            validEntityNames_.Add( "SECTION" ) ;
            validEntityNames_.Add( "SEQEND" ) ;
            validEntityNames_.Add( "SHAPE" ) ;
            validEntityNames_.Add( "SOLID" ) ;
            validEntityNames_.Add( "SPLINE" ) ;
            validEntityNames_.Add( "SUN" ) ;
            validEntityNames_.Add( "SURFACE" ) ;
            validEntityNames_.Add( "TABLE" ) ;
            validEntityNames_.Add( "TEXT" ) ;
            validEntityNames_.Add( "TOLERANCE" ) ;
            validEntityNames_.Add( "TRACE" ) ;
            validEntityNames_.Add( "UNDERLY" ) ;
            validEntityNames_.Add( "VERTEX" ) ;
            validEntityNames_.Add( "VIEWPORT" ) ;
            validEntityNames_.Add( "WIPEOUT" ) ;
            validEntityNames_.Add( "XLINE" ) ;
        }
        
        
        public static bool contains( string entityName ) {
            return validEntityNames_.Contains( entityName ) ;
        }
    }
}

        
        
